/*
 * HuevoReloj.cpp
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */
#include <cmath>
#include "HuevoReloj.h"
#include "Daniable.h"

HuevoReloj::HuevoReloj(double anguloDeDisparo,double normaVelocidadInicial,
		double x, double y, double tiempoInicio, double timeout)
		:Huevo(anguloDeDisparo, normaVelocidadInicial, x , y, tiempoInicio),
		 exploto(false), tiempoActual(timeout) {
				    std::string path("dibujos/huevo-reloj.png");
					setImagePath(path);
				}

void HuevoReloj::daniar(Daniable* daniable) {
	const double delta = 50;
	const double delta_explosion = 80;
	double deltax = (getPosicionX() - daniable->getPosicionX());
	double deltay = (getPosicionY() - daniable->getPosicionY());
	if (exploto) {
		if ((fabs(deltax) < delta_explosion )&&(fabs(deltay) < delta_explosion ))
			daniable->serDaniadoPorHuevoReloj();
	}

	else	if ((fabs(deltax) < delta )&&(fabs(deltay) < delta )) {
				explotar();
				daniable->serDaniadoPorHuevoReloj();
		    }
		
}

 
void HuevoReloj::explotar() {
	impactar();
	std::string path("dibujos/explosion-huevo-reloj.png");
	setImagePath(path);
	exploto = true;
}

void HuevoReloj::mover( double t) {
	Huevo::mover( t );
	tiempoActual--;
	if (tiempoActual == 0) explotar();
}

std::string & HuevoReloj::getImagePath() {
	return  imagePath;
}
void  HuevoReloj::setImagePath(std::string &path) {
	imagePath = path;
}

HuevoReloj::~HuevoReloj() {
	// TODO Auto-generated destructor stub
}


